Prophet: Automatic Patch Generation via Learning from Successful Human Patches
نویسندگان
چکیده
We present Prophet, a novel patch generation system that learns a probabilistic model over candidate patches from a large code database that contains many past successful human patches. It defines the probabilistic model as the combination of a distribution over program points based on error localization algorithms and a parameterized log-linear distribution over modification operations. It then learns the model parameters via maximum log-likelihood, which identifies important characteristics of the successful human patches. For a new defect, Prophet generates a search space that contains many candidate patches, applies the learned model to prioritize those potentially correct patches that are consistent with the identified successful patch characteristics, and then validates the candidate patches with a user supplied test suite.
منابع مشابه
Prophet: Automatic Patch Generation via Learning from Successful Patches
We present Prophet, a novel patch generation system that learns a probabilistic model over candidate patches from a database of past successful patches. Prophet defines the probabilistic model as the combination of a distribution over program points based on defect localization algorithms and a parameterized log-linear distribution over modification operations. It then learns the model paramete...
متن کاملAutomatic Inference of Code Transforms and Search Spaces for Automatic Patch Generation Systems
We present a new system, Genesis, that processes sets ofhuman patches to automatically infer code transforms andsearch spaces for automatic patch generation. We present re-sults that characterize the effectiveness of the Genesis infer-ence algorithms and the resulting complete Genesis patchgeneration system working with real-world patches and er-rors collected from top 1...
متن کاملSorting and Transforming Program Repair Ingredients via Deep Learning Code Similarities
In the field of automated program repair, the redundancy assumption claims large programs contain the seeds of their own repair. However, most redundancy-based program repair techniques do not reason about the repair ingredients— the code that is reused to craft a patch. We aim to reason about the repair ingredients by using code similarities to prioritize and transform statements in a codebase...
متن کاملEvaluating soil surface indicators rangeland in shrubs different patches (Case Study: Gub Gugeh rangeland of Golestan province (
The aim of this study is investigates the effects of different patches shrubs on the soil surface indicators in Gub Gugeh rangelands, in Golestan Province. The sampling was taken along transects of 50 meters, which are 10 meters away from each other. Via LFA models, three factors of stability, infiltration and nutrient cycling using 11 indicators of surface soil in patch and inter-patch were me...
متن کاملAutomatic Photo Orientation via Matching with Control Patches
Traditional aerial-triangulation has long relied on control points orientating the photo models into a ground-based coordinate system, reducing the distortion effect when tying photos by imperfect photo measurements, and calibrating camera inner parameters. Field surveying preparing for adequate number of control points and manual measurements of the control points afterwards on the photos cost...
متن کامل